home *** CD-ROM | disk | FTP | other *** search
/ IRIX Installation Tools & Overlays 2002 May / SGI IRIX Installation Tools & Overlays 2002 May - Disc 3.iso / relnotes / c++_eoe / ch7.z / ch7
Text File  |  2002-04-11  |  10KB  |  461 lines

  1.  
  2.  
  3.  
  4.                                      - 1 -
  5.  
  6.  
  7.  
  8.           7.3.1.3m C++ Compiler Execution Environment Release Notes
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.                                      - 2 -
  66.  
  67.  
  68.  
  69.           7.  _B_u_g__F_i_x_e_s
  70.  
  71.  
  72.  
  73.           7.1  _B_u_g__F_i_x_e_s__i_n__M_I_P_S_p_r_o__7_._3_._1_._3_m__c_+_+___f_e
  74.  
  75.           This section describes the C++ front-end bugs that have been
  76.           fixed since the MIPSpro 7.3.1.2m release.
  77.  
  78.           763731    C++ 7.3.1: /usr/lib32/cmplrs/fecc died due to
  79.                     signal 4
  80.  
  81.           804348    7.3 C++ regression with unnamed and variable
  82.                     arguments
  83.  
  84.           807862    Compiler optimizes out pragma optional
  85.  
  86.  
  87.  
  88.           7.2  _B_u_g__F_i_x_e_s__i_n__M_I_P_S_p_r_o__7_._3_._1_._3_m__c_+_+___d_e_v
  89.  
  90.           This section describes the C++ header file bugs that have
  91.           been fixed since the MIPSpro 7.3.1.2m release.
  92.  
  93.           786921    Need option to quiet edg_prelink.
  94.  
  95.           784512    vector<bool> and MIPSPro 7.3.1.1m
  96.  
  97.  
  98.  
  99.           7.3  _B_u_g__F_i_x_e_s__i_n__M_I_P_S_p_r_o__7_._3_._1_._3_m__c_+_+___e_o_e
  100.  
  101.           This section describes the C++ runtime library bugs that
  102.           have been fixed since the MIPSpro 7.3.1.2m release.
  103.  
  104.           824942    C++: sigsegv when throwing an eof exception
  105.  
  106.           821509    cout.precision truncates instead of rounding
  107.  
  108.           832005    C++ coredumps on stack unwind on exception
  109.                     handling
  110.  
  111.  
  112.  
  113.           7.4  _B_u_g__F_i_x_e_s__i_n__M_I_P_S_p_r_o__7_._3_._1_._2_m__c_+_+___f_e
  114.  
  115.           This section describes the C++ front-end bugs that have been
  116.           fixed since the MIPSpro 7.3.1.1m release.
  117.  
  118.           755533    C++ 7.3: /usr/lib32/cmplrs/fecc died due to signal
  119.                     4.
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.                                      - 3 -
  132.  
  133.  
  134.  
  135.           757655    CC Error: A goto outside a region cannot jump to a
  136.                     label inside a region.
  137.  
  138.           760593    7.3 CC nm_elf with ksh/bsh and LD_LIBRARY[N32]
  139.                     broken.
  140.  
  141.           762310    Not using defined operator new[] in DT_SYMBOLIC
  142.                     DSO for class with virtual funcion.
  143.  
  144.           768649    C++ Instantiation loop with -Ofast.
  145.  
  146.           770035    C++ prelinker: error in instantiation loop with
  147.                     -IPA.
  148.  
  149.           770678    C++ program loading causes ld segmentation fault.
  150.  
  151.           774574    Edg_prelink broken.
  152.  
  153.           777248    7.3 C++ front end crashes.
  154.  
  155.           778301    Goto outside" bug with destructor
  156.  
  157.           778832    7.3.1.m: new "goto outside a region" bug.
  158.  
  159.           785156    Option -ansi_setjmp=off chokes 7.3.1.1m and
  160.                     7.3.1.2m CC.
  161.  
  162.           786117    Compiler fails to instantiate operator+ overloaded
  163.                     for a nonmember template class.
  164.  
  165.           793229    C++: typename rejects namespace qualified name.
  166.  
  167.  
  168.  
  169.           7.5  _B_u_g__F_i_x_e_s__i_n__M_I_P_S_p_r_o__7_._3_._1_._1_m__c_+_+___e_o_e
  170.  
  171.           This section describes the C++ runtime library bugs that
  172.           have been fixed since the MIPSpro 7.3.1m release.
  173.  
  174.           753184    Ofstream constructor and open file mode flags
  175.                     problem.
  176.  
  177.  
  178.           753213    Opening an ofstream a second time is broken.
  179.  
  180.  
  181.           765243    Iostream package truncates 64 bit integers.
  182.  
  183.  
  184.           762033    Output of "long long" does not work in C++ 7.3
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.                                      - 4 -
  198.  
  199.  
  200.  
  201.           765657    Ostream constructor is broken.
  202.  
  203.  
  204.  
  205.           7.6  _B_u_g__F_i_x_e_s__i_n__M_I_P_S_p_r_o__7_._3_._1_m__c_+_+___e_o_e
  206.  
  207.           The following bugs have been fixed in the c++_eoe product
  208.           since release 7.3:
  209.  
  210.           751327     The MIPSpro 7.3 Compiler Execution Environment
  211.                     for IRIX 6.5.x consisted of runtime libraries that
  212.                     contained daddiu instructions that could encounter
  213.                     an arithmetic overflow under certain
  214.                     circumstances.  An errata in revision 4 or earlier
  215.                     of MIPS R4000 and R4400 would cause incorrect
  216.                     answers to be produced when encountering
  217.                     arithmetic overflows in executing the daddiu
  218.                     instruction.
  219.  
  220.                     The two examples below illustrate how to determine
  221.                     the type of processor that is on your system and
  222.                     provide one type of failure in library calls that
  223.                     could result on systems with these revision
  224.                     processors.
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.                                      - 5 -
  264.  
  265.  
  266.  
  267.                     To see what processors are on your system,
  268.                     use the hinv command:
  269.  
  270.                     Example:
  271.  
  272.                     % hinv
  273.                     Processor 12: 100 MHZ IP19
  274.                     CPU: MIPS R4400 Processor Chip Revision: 4.0
  275.                     FPU: MIPS R4000 Floating Point Coprocessor Revision: 0.0
  276.  
  277.                     In the example, the Revision 4.0 processor does have the
  278.                     daddiu instruction errata.
  279.  
  280.                     The following example illustrates a failure with
  281.                     the c++ runtime library on a rev 4 R4000
  282.                     or R4400 processor
  283.  
  284.                     Example 2:
  285.                     % cat foo2.cpp
  286.                     #include <iostream.h>
  287.  
  288.                     int main()
  289.                     {
  290.                     long long i;
  291.                             cin >> i;
  292.                             cout << i;
  293.                             return 0;
  294.                     }
  295.  
  296.  
  297.                     %CC -n32 -r4000 foo2.cpp
  298.  
  299.                     #Note  9223372036854775807 is Maxint64
  300.                     % runon 12 a.out
  301.                     9223372036854775807
  302.                     -1
  303.  
  304.                     # -1 is a wrong answer
  305.  
  306.                     This has been fixed.
  307.  
  308.  
  309.  
  310.  
  311.           7.7  _B_u_g__F_i_x_e_s__i_n__M_I_P_S_p_r_o__7_._3
  312.  
  313.           The following bugs have been fixed in the MIPSpro C++
  314.           product since release 7.2.1:
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.                                      - 6 -
  330.  
  331.  
  332.  
  333.           524503    Compiler does not evaluate functions in condition
  334.                     expression that are always false.
  335.  
  336.           526169    Incorrect subscript checking occurs.
  337.  
  338.           531702    O2 WHIRL write segmentation faults occur.
  339.  
  340.           531977    Compiler dumps core because of a problem with the
  341.                     global symbol table in the front end.
  342.  
  343.           532000    The &array (of func arg) behaves differently when
  344.                     compiled under -o32 from when compiled under -n32.
  345.  
  346.           533421    An internal error occurs because the front end is
  347.                     emitting an ISTORE that is not a KIND_POINTER
  348.                     type.
  349.  
  350.           533923    Compiler crash occurred on embedded derivation of
  351.                     virtual table.
  352.  
  353.           538385    On the C++ front-end, fecc, a segmentation fault
  354.                     occurs with precompiled headers.
  355.  
  356.           540784    Support is needed to create and use pch files.
  357.  
  358.           539413    An array argument passed directly to the
  359.                     descendent call instead of calling the routine
  360.                     with its address.
  361.  
  362.           412255    The cc command crashes when a string contains
  363.                     special Kanji characters.
  364.  
  365.           480882    Compiler dumps core when it encounters characters
  366.                     reserved by EDG.
  367.  
  368.           517948    Possible incorrect macro expansion occurs with 7.2
  369.                     cpp.
  370.  
  371.           530711    N32 cpp breaks macros as macro arguments.
  372.  
  373.           538202    Temporary field is created and destroyed during
  374.                     initialization procedure.
  375.  
  376.           540047    7.2 n32 CC command fails with segmentation fault
  377.                     in fecc.
  378.  
  379.           547294    A segmentation fault occurred in a 7.2 C++
  380.                     compiler assembly phase, a regression from 7.1.
  381.  
  382.           512468    An exception error occurred when code related to
  383.                     regions was executed.
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.                                      - 7 -
  396.  
  397.  
  398.  
  399.           432420    Temporaries that are bound to references are not
  400.                     being destroyed in the correct order, causing
  401.                     problems with EH regions.
  402.  
  403.           512703    An outside goto statement cannot jump inside the
  404.                     region (7.2 beta).
  405.  
  406.           565072    An error occurred with a goto statement into the
  407.                     EH region.
  408.  
  409.           577506    An error occurred with a goto statement outside a
  410.                     region (7.2 n32).
  411.  
  412.           589386    An error occurred with a goto statement into a
  413.                     region.
  414.  
  415.           565521    An error occurred with the following output: "A
  416.                     goto outside a region cannot jump to a label".
  417.  
  418.           592981    An error occurred with initializing arrays (7.2
  419.                     and 7.2.1).
  420.  
  421.           595888    C++ templates fail to locate the default
  422.                     constructor (7.2).
  423.  
  424.           610478    An error occurred during a bootstrap of fec_238.
  425.  
  426.           625408    C++ -n32 does not handle method member pointers
  427.                     correctly.
  428.  
  429.           626078    Program aborts at delete statement while
  430.                     executing.
  431.  
  432.           637610    C++ segmentation fault occurred with -O0
  433.                     -LANG:exceptions=off (n32).
  434.  
  435.           641624    C++ compilation time is more than 5 times longer
  436.                     in 7.2.1 than in 7.2.
  437.  
  438.           601700    Names in the C++ standard library need to be in
  439.                     namespace std (7.2.1).
  440.  
  441.           655895    The ios_base class is missing from the standard
  442.                     library.
  443.  
  444.           664367    An error was found in "_s_t_r_i_n_g" header file (STL
  445.                     3.11).
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.